package infod

const (
	// EvtTypInfo 信息事件类型
	EvtTypInfo = "info"
	// EvtTypReview 审核事件类型
	EvtTypReview = "review"
)

const (
	// 事件行为定义

	// EvtActAdd 新增一个信息
	EvtActAdd = "add"
	// EvtActUpdate 更新一个信息
	EvtActUpdate = "update_desc"
	// EvtActUpdateExtral 修改扩展信息
	EvtActUpdateExtral = "update_extral"
	// EvtActDelete 信息删除
	EvtActDelete = "delete"
	// EvtActRecover 信息恢复
	EvtActRecover = "recover"
	// EvtActDestroy 彻底删除
	EvtActDestroy = "destroy"
	// EvtActCommitCheck 提交审核
	EvtActCommitCheck = "commit_check"
	// EvtActCheckOk 审核通过
	EvtActCheckOk = "check_ok"
	// EvtActCheckNo 审核不通过
	EvtActCheckNo = "check_no"
	// EvtActPublish 信息发布
	EvtActPublish = "publish"
	// EvtActUnpublish 取消发布
	EvtActUnpublish = "publish_no"
	// EvtActProhibitPublish 禁止发布
	EvtActProhibitPublish = "prohibit_publish"
)

// EvtUpdateDescData 事件update_desc 数据
type EvtUpdateDescData struct {
	Old     InfoAggregate `json:"old"`
	NewDesc *InfoDesc     `json:"new_desc"`
}

// EvtActData 事件数据
// EvtActCommitCheck EvtActCheckOk EvtActCheckNo EvtActPublish EvtActUnpublish
type EvtActData struct {
	Old InfoAggregate  `json:"old"`
	New *InfoAggregate `json:"new"`
}
